package org.smartopen.unionpay.openapi.service;

import org.smartframework.unionpay.domain.request.SmartProfitSharingFinishRequest;
import org.smartframework.unionpay.domain.request.SmartProfitSharingReceiverRequest;
import org.smartframework.unionpay.domain.request.SmartProfitSharingRequest;
import org.smartframework.unionpay.domain.result.SmartProfitSharingAddReceiverResult;
import org.smartframework.unionpay.domain.result.SmartProfitSharingFinishResult;
import org.smartframework.unionpay.domain.result.SmartProfitSharingRemoveReceiverResult;
import org.smartframework.unionpay.domain.result.SmartProfitSharingResult;

public interface UnionPayOpenApiProfitSharingService {


    /**
     * 分账接口
     *
     * @param request
     * @return
     */
    SmartProfitSharingResult profitSharing(SmartProfitSharingRequest request);

    /**
     * 分账接口完结
     *
     * @param request
     * @return
     */
    SmartProfitSharingFinishResult profitSharingFinish(SmartProfitSharingFinishRequest request);


    /**
     * 商户发起添加分账接收方请求，后续可通过发起分账请求将结算后的钱分到该分账接收方。
     *
     * @param request
     * @return
     */
    SmartProfitSharingAddReceiverResult profitSharingAddReceiver(SmartProfitSharingReceiverRequest request);

    /**
     * 商户发起删除分账接收方请求，删除后不支持将结算后的钱分到该分账接收方。
     *
     * @param request
     * @return
     */
    SmartProfitSharingRemoveReceiverResult profitSharingRemoveReceiver(SmartProfitSharingReceiverRequest request);
}
